package cn.king.basic.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 工具类：封装增删改的返回结果
 */
@Data
/** 注在类上，提供类的getter、setter、equals、hashCode、toString方法和无参构造 */
@NoArgsConstructor
/** 无参构造器，有了有参就没有无参了，需要加上无参 */
@AllArgsConstructor
/** 全参构造器 */
public class AjaxResult {
    /** 响应给前端用户判断 */
    private Boolean success = true;
    /** 响应给前端用户字符串信息 */
    private String msg = "操作成功";
    /** 响应给前端用户任意类型的数据：fastDfs */
    private Object obj;

    /** 手动添加一个有参 */
    public AjaxResult(Boolean success, String msg) {
        this.success = success;
        this.msg = msg;
    }

    /** 链式语法的改造 */
    public static AjaxResult me(){
        return new AjaxResult();
    }
    public AjaxResult setSuccess(Boolean success) {
        this.success = success;
        return this;
    }
    public AjaxResult setMsg(String msg) {
        this.msg = msg;
        return this;
    }
    public AjaxResult setObj(Object obj) {
        this.obj = obj;
        return this;
    }

//    public static void main(String[] args) {
//        System.out.println(AjaxResult.me().setSuccess(true).setMsg("操作成功"));
//    }
}
